/**
1. 输入分数，判定成绩等级 (成绩对应等级 90-100:A级 80-89:B级 70-79:C级 60-69:D级 其它:不合格)分别用switch-case和if-else-if语句实现
 */

/**
2. 输出20-80之间能被3整除的整数，每5个一行 
 */

/**
3. 入职薪水10K，每年涨幅5%，50年后工资多少？求该员工50年总共拿了多少工资？

    累加求和
        let s:number = 0  //累加和
        for(let i:number = 1; i <= 50;  i++){
              s = s + 累加项
        }

        第一年  = 10000
        第二年  = 第一年 + 第一年 * 0.05
        第三年  = 第二年 + 第二年 * 0.05
             ....
        第50年  = 第49年 + 第49年 * 0.05
 */
function salaryTotal(): void {
	let salary: number = 10000 //入职薪资，第一年的薪资
	let total: number = salary

	for (let year: number = 2; year <= 50; year++) {
		salary = salary + salary * 0.05

		total = total + salary
	}

	console.log('50年之后的薪资是 ', salary.toFixed(2))
	console.log('50年总薪资是 ', total.toFixed(2))
}
// salaryTotal()

/**

4. 程序打印如下图形

    *
    **
    ***
    ****
    *****

    考查: 双重for循环
         外层循环打印 行
            内层循环打印 列
       字符串拼接

 */
function printDemo1(): void {
	let n: number = 5 //行数

	//外层循环打印 行
	for (let i: number = 1; i <= n; i++) {
		let str: string = ''
		// 内层循环打印 列
		for (let j: number = 1; j <= i; j++) {
			str = str + '*'
		}
		console.log(str)
	}
}
// printDemo1()

/**
5. 程序打印如下图形
    *
   ***
  *****
 *******
*********

考查: 双重for循环
       外层打印 行
          内层打印列
     
     行     空格       星
      1     4          1
      2     3          3
      3     2          5
      4     1          7
      5     0          9

      i     n-i        2*i-1


 */

function printDemo2(): void {
	let n: number = 5
	//外层循环打印行
	for (let i: number = 1; i <= n; i++) {
		let str: string = ''
		// 内层循环 列
		for (let j: number = 1; j <= n - i; j++) {
			str = str + ' '
		}

        // 打印星
        for(let k:number = 1; k <= 2*i-1; k++){
            str = str + '*'
        }
        console.log(str)
	}
}
printDemo2()